www.gusucode.com > 小波分析理论与Matlab 7实现 > 小波分析理论与Matlab 7实现/code/Ch13/examp13_9.m
clc; clear; % 装载信号并选择其中一段 load leleccum; indx = 2600:3100; x = leleccum(indx); % 使用db3在第5层执行信号的小波分解 wname = 'db3'; lev = 5; [c,l] = wavedec(x,lev,wname); % 信号压缩,使用wdcbm 选择各层的独立阈值 alpha = 1.5; m = l(1); [thr,nkeep] = wdcbm(c,l,alpha,m) % 使用wdencmp和硬阈值进行信号压缩 [xd,cxd,lxd,perf0,perfl2] =wdencmp('lvd',c,l,wname,lev,thr,'h'); % 画出原始信号和压缩后信号 subplot(211), plot(indx,x), title('原始信号'); subplot(212), plot(indx,xd), title('压缩后信号'); xlab1 = ['2-norm rec.: ',num2str(perfl2)]; xlab2 = [' % -- zero cfs: ',num2str(perf0), ' %']; xlabel([xlab1 xlab2]);